Expand description

Cranelift code generation library.

Re-exports

Modules

  • Binary machine code emission.
  • The CFGPrinter utility.
  • Cursor library.
  • This module gives users to instantiate values that Cranelift understands. These values are used, for example, during interpretation and for wrapping immediates.
  • Debug tracing helpers.
  • A Dominator Tree represented as mappings of Blocks to their immediate dominator.
  • A control flow graph represented as mappings of basic blocks to their predecessors and successors.
  • Representation of Cranelift IR functions.
  • Instruction Set Architectures.
  • A loop analysis represented as mappings of loops to their header Block and parent in the loop tree.
  • Compact representation of Option<T> for types with a reserved value.
  • Utility routines for pretty-printing error messages.
  • Shared settings module.
  • Pass timing.
  • A verifier for ensuring that functions are well formed. It verifies:
  • Converting Cranelift IR to text.

Macros

  • Even when trace logging is disabled, the trace macro has a significant performance cost so we disable it by default.

Structs

  • Compilation error, with the accompanying function to help printing it.
  • Persistent data structures and compilation pipeline.
  • A call site record resulting from a compilation.
  • A relocation resulting from a compilation.
  • A source-location mapping resulting from a compilation.
  • Record of stack map metadata: stack offsets containing references.
  • A trap record resulting from a compilation.
  • Value location range.

Enums

Constants

  • Version number of this crate.

Traits

Type Definitions

  • A convenient alias for a Result that uses CodegenError as the error type.
  • CompiledCode in its final form (i.e. after FunctionParameters have been applied), ready for consumption.
  • Resulting map of Value labels and their ranges/locations.